草庐IT

JavaScript - 有条件地调用一个函数

全部标签

ruby - 如何在 ruby​​ 中生成一个随机的 10 位数字?

此外,如何将其格式化为用零填充的字符串? 最佳答案 用表达式“10的10次方”的结果生成数字调用randrand(10**10)要用零填充数字,您可以使用字符串格式运算符'%010d'%rand(10**10)或者字符串的rjust方法rand(10**10).to_s.rjust(10,'0') 关于ruby-如何在ruby​​中生成一个随机的10位数字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

Ruby:如何将数组的数组连接成一个数组

我在RubyonRails(3.1)中有一个数组数组,其中所有内部数组的大小都不同。有没有一种方法可以轻松地连接所有内部数组以获得一个包含所有项目的大一维数组?我知道你可以使用Array::concat函数连接两个数组,我可以做一个循环来按顺序连接它们,如下所示:concatenated=Array.newarray_of_arrays.eachdo|array|concatenated.concat(array)end但我想知道是否有类似Ruby的单行代码可以以更简洁的方式完成。感谢您的帮助。 最佳答案 您正在寻找#flatten

ruby-on-rails - 我有一个 Rails 任务 : should I use script/runner or rake?

对于adhocRails任务,我们有一些实现方案,其中主要的似乎是:script/runnersome_useful_thing和:rakesome:other_useful_thing我应该选择哪个选项?如果有一个明确的最爱,那么什么时候,如果有的话,我应该考虑使用另一个?如果从来没有,那么您为什么认为它仍然存在于框架中而没有弃用警告? 最佳答案 它们之间的区别在于script/runner启动Rails,而Rake任务不会启动Rails,除非您通过使任务依赖于:environment来告诉它,例如这个:task:some_use

ruby - 给定一个参数数组,我如何将这些参数发送到 Ruby 中的特定函数?

原谅初学者的问题,但说我有一个数组:a=[1,2,3]还有某处的函数;假设它是一个实例函数:classIlikedefturtles(*args)putsargs.inspectendend如何使用a调用Ilike.turtles就像调用(Ilike.new).turtles(1,2,3).我熟悉send,但这似乎不能将数组转换为参数列表。与我正在寻找的类似的是Javascriptapply,它等效于call但将数组转换为参数列表。 最佳答案 如您所知,当您定义一个方法时,您可以使用*将参数列表转换为数组。同样,当您调用方法时,您可

ruby - 在 Ruby 中有没有办法重载初始化构造函数?

在Java中,您可以重载构造函数:publicPerson(Stringname){this.name=name;}publicPerson(StringfirstName,StringlastName){this(firstName+""+lastName);}在Ruby中有没有一种方法可以实现相同的结果:两个采用不同参数的构造函数? 最佳答案 答案既是肯定的又不是。您可以使用多种机制实现与其他语言相同的结果,包括:参数的默认值变量参数列表(splat运算符)将你的论点定义为散列该语言的实际语法不允许您定义一个方法两次,即使参数不

ruby - Ruby 中的动态方法调用

据我所知,在Ruby中有三种动态调用方法的方法:方法一:s=SomeObject.newmethod=s.method(:dynamic_method)method.call方法二:s=SomeObject.news.send(:dynamic_method)方法三:s=SomeObject.neweval"s.dynamic_method"通过对它们进行基准测试,我确定方法1是迄今为止最快的,方法2较慢,而方法3是迄今为止最慢的。我还发现.call和.send都允许调用私有(private)方法,而eval则不允许。所以我的问题是:是否有任何理由使用.send或eval?为什么不总是

ruby - 为什么这个 RMagick 调用会产生段错误?

在将近一个小时的时间里,我一直在用头撞墙,试图弄清楚这里出了什么问题,我确信(或者更确切地说,希望)这是我忽略的相当明显的事情。我使用的是Ruby1.9.1、Sinatra1.0和RMagick2.13.1。ImageMagick和RMagick已正确安装并正常运行——我已成功操作并保存了来自irb的图像。params数组的相关部分(为了可读性而更改格式):{"admin_user_new_image_file"=>{:filename=>"freddie-on-shetland-pony.png",:type=>"image/png",:name=>"admin_user_new_i

ruby - 将散列传递给函数 ( *args ) 及其含义

当使用成语时:deffunc(*args)#somecodeend*args是什么意思?谷歌搜索这个具体问题非常困难,我找不到任何东西。似乎所有参数实际上都出现在args[0]中,所以我发现自己正在编写防御性代码,例如:my_var=args[0].delete(:var_name)ifargs[0]但我确信我错过了一个更好的方法。 最佳答案 *是splat(或星号)运算符。在方法的上下文中,它指定了一个可变长度的参数列表。在您的例子中,传递给func的所有参数都将放入一个名为args的数组中。您还可以在可变长度参数之前指定特定参数

ruby - 如何使用 Ruby 中的一个命令检查目录/文件/符号链接(symbolic link)是否存在

有没有一种方法可以检测目录/文件/符号链接(symboliclink)/等是否存在?实体(更广义)存在?我需要一个函数,因为我需要检查一组路径,这些路径可能是目录、文件或符号链接(symboliclink)。我知道File.exists?"file_path"适用于目录和文件,但不适用于符号链接(symboliclink)(即File.symlink?"symlink_path")。 最佳答案 标准文件模块有通常的filetests可用:RUBY_VERSION#=>"1.9.2"bashrc=ENV['HOME']+'/.bash

ruby-on-rails - 尝试从 Rails Controller 调用辅助方法时出现 NoMethodError

当我尝试从我的Controller类之一访问在我的帮助程序模块之一中定义的方法时,我收到了一个NoMethodError。我的Rails应用程序使用helper类方法和:all符号,如下所示:classApplicationController我的理解是,这应该使我的所有Controller类自动包含app/helpers目录中的所有帮助程序模块,因此将所有方法混合到Controller中。这是正确的吗?如果我在Controller中显式包含辅助模块,那么一切正常。 最佳答案 使用模板引擎中已经包含的辅助方法:Rails2:使用@t